<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!--
----	(c) Copyright 2001-2011 by Lutz Sammer, Francois Beerten,
----				Nehal Mistry and Pali Rohár

----    This program is free software; you can redistribute it and/or modify
----    it under the terms of the GNU General Public License as published by
----    the Free Software Foundation; only version 2 of the License.
----
----    This program is distributed in the hope that it will be useful,
----    but WITHOUT ANY WARRANTY; without even the implied warranty of
----    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
----    GNU General Public License for more details.
----
----    You should have received a copy of the GNU General Public License
----    along with this program; if not, write to the Free Software
----    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
----    02110-1301, USA.
-->
    <title>Development for Stratagus</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>

<pre width=80>
         _________ __                 __
        /   _____//  |_____________ _/  |______     ____  __ __  ______
        \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
        /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
       /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
               \/                  \/          \//_____/            \/
    ______________________                           ______________________
                          T H E   W A R   B E G I N S
           Stratagus - A free fantasy real time strategy game engine
</pre>
<hr>

<h1>Development for Stratagus</h1>
<hr>

This file should give you some information to help with development of Stratagus.<p>

<h2>Bugs</h2>

You can find <a
href="https://bugs.launchpad.net/stratagus">known bugs</a>
on the <a href="https://launchpad.net/stratagus">Launchpad pages for Stratagus</a>.<p>

<h2>Building Stratagus</h2>

<h3>Getting Stratagus from Github</h3>

<h4>How do I get the latest source code of Stratagus?</h4>

The source code is hosted on <a href="https://github.com/Wargus/stratagus">Github</a>.
<p>

To clone master:<p>

<pre>git clone https://github.com/Wargus/stratagus</pre>
<p>

This is done only once. To update your working copy, go into
the directory and type 'git pull'.<p>

<h3>Getting Stratagus source without Git</h3>

Just go to the <a href="https://github.com/Wargus/stratagus">Github</a> page and click on
<a href="https://github.com/Wargus/stratagus/archive/master.zip">"Download ZIP"</a>.

<h3>Compiling Stratagus</h3>

You can find instructions for compiling Stratagus at
<a href="install.html">install.html</a>.<br>
Since you already have a copy of the source, you may skip
ahead to Installation Step 2.

<h2>Source code documentation</h2>

Valery Shchedrin has introduced tagged source
documentation for Stratagus.<p>

You need
<a href="http://www.doxygen.org">DoxyGen</a>
to generate source code documentation.<p>

Having DoxyGen installed, compile Stratagus with option ENABLE_DOC=ON<br>
(e.g, inside build directory, run 'cmake -DENABLE_DOC=ON .. &amp;&amp; make').<p>

Source documents are initially generated inside the build directory, as done for binaries.<p>

After installing stratagus (using 'make install') you can find all these html files in<br>
<u>share/doc/stratagus</u> directory.<p>

When installing Stratagus html these files are copied into <u>PREFIX/share/stratagus/doc</u>.<br>
Doxygen documentation is copied into <u>PREFIX/share/stratagus/doc/doxygen</u>.<p>

If you are viewing installed stratagus documentation, Doxygen documentation is here: <a href="doxygen/index.html">doxygen/index.html</a>

<h3>Tags used in source code</h3>

We use the doc++ tags:<p>
Multi line source code documentation: /** ... */<br/>
Single line source code documentation: /// ... <br/>
Start grouping: //@{ or /*@{*/<br/>
End grouping: //@} or /*@}*/<br/>

<ul>
    <li>@name Name of file or group.</li>
    <li>@param Describes function/macro parameter</li>
    <li>@return Describes function return</li>
    <li>@see Links to other section</li>
</ul><p>

Please read the doxygen/doc++ documentation.

<h2>Empty C++ prototype file</h2>

<pre>
//       _________ __                 __
//      /   _____//  |_____________ _/  |______     ____  __ __  ______
//      \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
//      /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
//     /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
//             \/                  \/          \//_____/            \/
//  ______________________                           ______________________
//                        T H E   W A R   B E G I N S
//  Stratagus - A free fantasy real time strategy game engine
//
/**@name {filename}.cpp	-	{One line description of this file} */
//
//  (c) Copyright {year} by {insert your name here}
//
//  This program is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation; only version 2 of the License.
//
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software
//  Foundation, Inc., 51 Franklin St, Fifth Floor,
//  Boston, MA  02110-1301  USA
//

//@{

#include "stratagus.h"

// More game includes.

// Global and local variables of this module.

// Local and global functions of this module.

//@}
</pre>

<h2>Coding style</h2>

We use <a href="http://astyle.sourceforge.net/">AStyle</a> to harmonize style in the code.<br/>
<code>AStyle --options=tools/astylerc --recursive "src/*.cpp" "src/*.h"</code>

<h2>Sending a patch</h2>

Use Stratagus launchpad <a href="https://bugs.launchpad.net/stratagus">bug tracker</a>
<br/>
NOTE: If you make big changes please always extend the copyright with your name,
and always update the copyright year if required.<p>

<hr> (C) Copyright 1998-2015 by The <a
href="https://launchpad.net/stratagus">Stratagus</a> Project under the <a
href="gpl.html">GNU General Public License</a>.<br> All trademarks and
copyrights on this page are owned by their respective owners.<br> </body>
</html>
